package com.example.tool.widget;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;

import com.example.tool.R;

/**
 * Created Date 2020/4/22.
 *
 * @author liangkun
 * ClassDescription：
 */
public class TestMatrixImageView extends AppCompatImageView {
    private Matrix mMatrix;
    private Bitmap bitmap;
    private Paint paint;


    public TestMatrixImageView(Context context) {
        super(context);
        mMatrix = new Matrix();
        bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.kun01);
        paint = new Paint();
    }

    public TestMatrixImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mMatrix = new Matrix();
        bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.kun01);
        paint = new Paint();
    }

    @Override
    protected void onDraw(Canvas canvas) {


        canvas.drawBitmap(bitmap, mMatrix, paint);
        mMatrix.setTranslate(100, 1000);
        canvas.drawBitmap(bitmap, mMatrix, paint);

        /*首先，将缩放为100*100。这里scale的参数是比例。有一点要注意，如果直接用100/
bmp.getWidth()的话，会得到0，因为是整型相除，所以必须其中有一个是float型的，直接用100f就好。*/
        mMatrix.setScale(100f / bitmap.getWidth(), 100f / bitmap.getHeight());
        //平移到（100，100）处
        mMatrix.postTranslate(100, 100);
        //倾斜x和y轴，以（100，100）为中心。
        mMatrix.postSkew(0.2f, 0.2f, 100, 100);


    }

    public void change(Matrix matrix) {
        mMatrix = matrix;
        invalidate();
    }


}
